package com.example.zqh.mapper;

import com.example.zqh.pojo.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author zqh
 * @since 2022-09-10
 */
public interface UserMapper extends BaseMapper<User> {

    /**
     * @Author: zqh
     * @Date:
     * @Description: 通过用户名查询此用户的所有信息
     */
    User getOneByUsername(String username);

    /**
     * @Author: zqh
     * @Date:
     * @Description: 通过用户名查询该用户所拥有的权限
     */
    List<String> getRoleCodeByUsername(String username);

    /**
      * @Author: zqh
      * @Date:
      * @Description: 分页查询用户
    */
    List<User> pagingQueryUsers(Integer page,Integer size);

    /**
      * @Author: zqh
      * @Date:
      * @Description: 获取所有用户的数量
    */
    Integer getAllUserNumber();

    /**
      * @Author: zqh
      * @Date:
      * @Description: 模糊查询用户
    */
    List<User> fuzzyQueryUser(String keyword);

    /**
      * @Author: zqh
      * @Date:
      * @Description: 通过查询男女用户的数量
    */
    Integer getNumberBySex(Integer sex);

    /**
      * @Author: zqh
      * @Date:
      * @Description: 通过性别查询歌手并且分页查询
    */
    List<User> queryUsersByGenderAndQueryByPagination(int sex,int page,int size);

}
